import { PAGING_TYPE, PAGER_STYLES } from './constants';

export default {
  showEmptyText: {
    type: Boolean,
    default: true,
  },
  emptyText: {
    type: String,
    default: '',
  },
  disabled: {
    type: Boolean,
    default: false,
  },
  pullRefresh: {
    type: Boolean,
    default: false,
  },
  autoLoad: {
    type: Boolean,
    default: true,
  },
  // 列表数据
  list: {
    type: Array,
    default: () => [],
  },
  // loadingText: String,
  // finishedText: String,
  // errorText: String,
  // pullingText: String,
  // loosingText: String,
  // successText: String,
  // -----------------
  /**
   * 移动端滚动加载分页时，
   * 从无限滚动容器底部开始提前加载更多内容的偏移量（以像素为单位）
   * QInfiniteScroll 的默认值 500
   */
  offset: {
    type: Number,
    default: 500,
  },
  /** 滚动加载时是否显示notification【当前第 n 条，共 n 条结果】 */
  showIndexAndCount: {
    type: Boolean,
    default: true,
  },
  isPlatformMobile: {
    type: [Boolean, Function],
    default: false,
  },
  pageSize: {
    type: Number,
    default: 20,
  },
  /**
   * 填充模式
   * - none 未设置，scroll-滚动加载时相当于fill，pagination-分页时不给表格设高度
   * - fill 填充，为默认的模式，可设置底部留白，实现总高确定内部滚动，填满页面
   * - fixed 自定义高度，设多少就是多少，无关留白
   */
  fillMode: {
    type: String,
    default: 'fill',
  },
  /**底部留白大小*/
  fillMarginBottom: {
    type: String,
    default: null,
  },
  /**填充模式=自定义高度时，指定的高度 */
  height: {
    type: String,
    default: '500px',
  },
  // ------------
  /**
   * 分页模式
   * - scroll 滚动加载
   * - pagination 分页器加载
   */
  pagingType: {
    type: String,
    default: PAGING_TYPE.Scroll,
  },
  /** 表格翻页后重置滚动位置 */
  resetScrollOnPageTurning: {
    type: Boolean,
    default: true,
  },
  isScrollOutside: {
    type: Boolean,
    default: false,
  },
  /**
   * pagingType = pagination
   * 分页器模式下，有不同的样式效果
   * - default：TTable自带的分页，默认效果
   * - simple：简单分页效果，应多指标组件需求开发的
   */
  pagerStyle: {
    type: String,
    default: PAGER_STYLES.default,
  },
  /**
   * 隐藏提示的延迟时间，单位ms
   */
  hideScrollNotificationDelay: {
    type: Number,
    default: 1000,
  },
  maxPullDistance: {
    type: Number,
    default: 240,
  },
};
